From 13ceb616c47cd8b3dc6f156de5dfb6549a3fc5d8 Mon Sep 17 00:00:00 2001 From: GNU Libc Maintainers Date: Tue, 23 Jul 2024 19:09:58 +0200 Subject: [PATCH] git-intr-msg-clobber Commited for 2.40 commit c8b4ce0b368115714bd4cce131e1683759471099 Author: Samuel Thibault Date: Sat Jul 13 17:00:55 2024 +0200 hurd: Fix restoring message to be retried save_data stores the start of the original message to be retried, overwritten by the EINTR reply. In 64b builds the overwrite is however rounded up to the 64b pointer size, so we have to save more than just the 32b err. Thanks a lot to Luca Dariz for the investigation! Gbp-Pq: Topic hurd-i386 Gbp-Pq: Name git-intr-msg-clobber.diff --- hurd/intr-msg.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/hurd/intr-msg.c b/hurd/intr-msg.c index 2c2e7dc46..424c1fc70 100644 --- a/hurd/intr-msg.c +++ b/hurd/intr-msg.c @@ -42,7 +42,10 @@ _hurd_intr_rpc_mach_msg (mach_msg_header_t *msg, struct clobber { mach_msg_type_t type; - error_t err; + union { + error_t err; + uintptr_t align; + }; }; union msg { -- 2.30.2